#ifndef GENESIS_DATATYPES
#define GENESIS_DATATYPES
typedef unsigned char byte;
typedef unsigned short word;
#endif

#define id_Rings 0x25

#include "../object.h"

void Rings(object *);

void Ring_Main();
void RingGroup_MakeFirstRing(long &count, object *ringObj, byte *IDflag, byte &ID, word &ringX, word &ringY, signed short spaceX, signed short spaceY);
byte RingGroup_MakeAdditionalRing(long &count, object *ringGroupObj, byte *IDflag, byte &ID, word &ringX, word &ringY, signed short spaceX, signed short spaceY);
void RingGroup_InitSingleRing(long count, object *oldRingObj, object *newRingObj,word ringX, word ringY);
void RingGroup_NextRingAddSpace(long &count, word &ringX, word &ringY, word spaceX, word spaceY);

void Ring_Animate();
void Ring_Collect();
void Ring_Sparkle();
void Ring_Delete();

void CollectRing();

#define id_RingLoss 0x37

void RingLoss(object *_obj);

void RLoss_Count();
void RLoss_Bounce();
void RLoss_Collect();
void RLoss_Sparkle();
void RLoss_Delete();


